1. Field of the Invention
The present application relates generally to wireless devices and, more particularly, to wireless devices employing multiple interfaces, and preferred embodiments provide a novel intelligent connectivity framework for the simultaneous use of multiple interfaces.
2. Background Discussion
To take full advantage of different radio technologies, a mobile device can be configured to select which radio interfaces (i.e., radio networks) to use and when to switch between the interfaces (hence, between radio networks), preferably in a seamless manner with little interruption to user applications.
With reference to FIG. 4, in some illustrative examples, a mobile device 1 can include a plurality of interfaces. In the illustrated embodiment, three interfaces are shown: Interface 1; Interface 2 and Interface 3. However, in various examples any number of interfaces can be employed. In illustrative cases, a mobile device can include, e.g., portable computers, personal desk-top computers, PDAs, portable voice-over-IP telephones and/or other devices. Typically, such mobile devices will include a transceiver (including an antenna for communication with the access point), a processor, memory (including, e.g., program memory and Random Access Memory). As also shown, the memory can include a program or module for carrying out functionality. In various embodiments, processes to be carried out by the mobile device can be performed via software, hardware and/or firmware as may be appropriate based on circumstances.
In an illustrative example shown in FIG. 4, a mobile device 1 is shown that is capable of communicating via a plurality of networks, such as, e.g., via Interface 1-3. For example, the mobile device can communicate via the Access Point 22 or via a Base Station 2, similar to that shown in FIG. 1(B). Additionally, FIG. 4 also schematically depicts an example in which the mobile device 1 can also communicate with another network, such as, e.g., another wireless network or a wired networks. With reference to FIG. 4, in some illustrative and non-limiting examples, the access point 22 can be within a wireless local area network (WLAN) connected to a wireline network 20. In some examples, the wireline network 20 can include the Internet or a corporate data processing network. In some examples, the access point 22 can be a wireless router. In some embodiments, the access point 22 can have a network interface 25 linked to the wireline network 21 and a wireless transceiver in communication with the mobile device 1 and with other mobile devices. By way of example, the wireless transceiver 26 can include an antenna 27 for radio or microwave frequency communication with the mobile devices. The access point 22 preferably also has a processor 28, a program memory 29, and a random access memory 31.
Consider an environment where heterogeneous network technologies co-exist and mobile devices have multiple network interfaces. In such a case, a mobile user can, thus, potentially have access to multiple heterogeneous wireless networks at the same time.
In such a scenario, a mobile application has a rich choice of network(s) to use and ways to use them resulting in improved quality and reliability for the applications. However, today's technology limits our ability to exploit the presence of multiple wireless interfaces. Factors that contribute to this limitation include protocols that do not enable applications to communicate over multiple network interfaces simultaneously, the unavailability of real-time performance information needed to make intelligent, dynamic connectivity decisions, and the lack of a transmission framework specific to multiple interface devices. Furthermore, as the wireless networking environment and the end user's requirements change, a system is needed that can dynamically select and implement different connectivity strategies best suited for the current environment and service quality requirements.
Problems of utilizing multiple interfaces have been studied in the past. Researchers have identified the benefits of utilizing multiple interfaces for achieving better end-to-end performance. There are various approaches introduced to different layers of OSI model for attempting to exploit these benefits. In the following paragraphs, a sampling of such work is provided, categorized by the OSI layer at which each approach is applied.
Reference [1] below relates to an adaptive inverse multiplexing for CDPD wireless networks. Packets are split into fragments of size proportional to the observed throughput of the links. Fragments are tunneled over multiple links using Multi-link PPP. Multi-link PPP is designed to aggregate multiple logical data channels into one logical link.
Reference [2] below relates to a Linux based traffic scheduler wTEQL and propose a weighted round-robin mechanism to split traffic across multiple heterogeneous links.
Reference [3] below relates to a mechanism to aggregate bandwidth of multiple IP links, by splitting a data follow across multiple IP interfaces at the IP level. The mechanism is to use tunneling by encapsulating the original packet at the IP layer with another IP header and at the receiving end, stripping out the extra header.
Reference [4] below relates to load sharing LS-SCTP, proposing a transport layer solution. The proposed solution involves an extension to the SCTP protocol (see reference [5] below), and adds the feature of using multiple interfaces simultaneously to carry one connection. The SCTP architecture has a path selection module and a path monitor module.
Reference [6] below relates to another transport layer solution, the p-TCP. The pTCP is a wrapper that interacts with a modified TCP called TCP-virtual (TCP-v). A TCP-v connection is established for each interface, and pTCP manages send buffers across the TCP-v pipes. The striping is performed by pTCP and is based on congestion window size of each TCP-v connection. When congestion occurs on a certain pipe, pTCP performs data reallocation to another pipe with large congestion window.
There also exists a body of knowledge on strategies effective bandwidth aggregation when there are multiple end-to-end routes. Multi-path and QoS routing are considered in references [7] and [8] below. Layered priority striping of video across multiple routes is discussed in reference [9] below. In reference [10] below, the authors consider multi-path transport over multiple routes in an ad-hoc network to improve video quality.
Moreover, there is another class of work, which studies the utilization of multiple interfaces, but where only one interface can be active and transmitting. The rest of the interfaces are being used for failover. In this regard, references [11], [12] and [13] below are works that belong in this class of approaches. In reference [11] below, De, et al. proposed the iCAR system, which uses cellular and ad hoc interfaces to relieve congestion. In the iCAR system, nodes primarily use the cellular interface to communicate with the base station. When the cell becomes congested, the nodes can communicate with base stations in other cells by relaying packets using the ad hoc interface. In reference [12] below, Luo et al. proposed UCAN, which uses 3G and 802.11 radios. In UCAN, when the channel quality between the base station and the mobile node is poor, the base station forwards packets to a proxy client, and the client relays packets to the mobile node using the 802.11 interface. Lastly, in reference [13] below, Yoon, et al. provide an approach that prefers the high-rate, short-range radio as the primary means of communication, and uses the low-rate, long-range radio as a backup channel.
The disclosures of each of the following thirteen references [1] to [13] are incorporated herein in their entireties as if recited herein in full:    Reference [1]: A. C. Snoeren, “Adaptive inverse multiplexing for wide area wireless networks”, Proceedings of the IEEE Globecomm, Rio de Janeiro, Brazil, December 1999;    Reference [2]: J. Li, J. Brassil, “Performance Characterization of Traffic Equalizers on Heterogeneous Communication Links”, Submitted to Netwoking 2006;    Reference [3]: D. Pathak, T. Goff, “A novel mechanism for data streaming across multiple IP links for improving throughput and reliability in mobile environments”, IEEE INFOCOM, New York, USA, 2002;    Reference [4]: A. El Al, T. Sasadawi, M. Lee, “A Transport layer load sharing mechanism for mobile wireless hosts”, IEEE Conference on Pervasive Computing and Communications Workshops, 2004;    Reference [5]: R. Stewart, Q. Xie et. al, “Stream Control Transmission Protocol”, IETF RFC 2960, 2000;    Reference [6]: H. Hsieh, R. Sivakumar, “pTCP: Am end-to-end transport layer protocol for striped connections”, Proceedings of IEEE International Conference on Network Protocols, Paris, France, November 2002;    Reference [7]: R. Ogier, V. Ruenburg, N. Shacham, “Distributed algorithms for computing shortest pairs of disjoint paths”, IEEE Transactions on Information Theory, March 1993;    Reference [8]: I. Cidon, R. Rom, Y. Shavim, “Analysis of multi-path routing”, I.E.E.E./ACM Transactions on Networking, December 1999;    Reference [9]: P. Sharma, S. Lee, J. Brassil, K Shin, “Handheld-routers: Intelligent bandwidth aggregation for mobile collaborative communities, HP Labs Technical Report, May 2003;    Reference [10]: S. Mao, S. Lin, S. Panwar, Y. Wang, E. Celibi, “Video transport over ad-hoc networks: Multi-stream coding with multi-path transport”, IEEE JSAC, Vol 21, December 2003;    Reference [11]: S. De, O. Tonguz, H. Wu and C. Qiao, “Integrated Cellular and Ad Hoc Relay (iCAR) Systems: Pushing the Performance Limits of Conventional Wireless Networks,” HICSS, pp. 3931-3938, 2002;    Reference [12]: H. Luo, Ramachandran Ramjee, Prasun Sinha, Li Li, and Songwu Lu, “UCAN: A Unified Cellular and Ad-Hoc Network Architecture,” ACM MobiCom'03, 2003;    Reference [13]: Wonyong Yoon, Jungmin; So, and Nitin H. Vaidya, “Routing Exploiting Multiple Heterogeneous Wireless Interfaces: A TCP Performance Study,” IEEE MILCOM 2006, Washington DC, October 2006;    Reference [14]: S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi, “Optimization by Simulated Annealing,” Science Magazine, Vol. 220, number 4598, May 1983;    Reference [15]: S. Mao, S. Lin, S. Panwar, Y. Wang, E. Celibi, “Video Transport over Ad-Hoc Networks: Multi-Stream Coding with Multi-Path Transport,” I.E.E.E. JSAC, Vol 21, December, 2003;    Reference [16]: VLC Media Player, http://www.videolan.org/vlc;    Reference [17]: Netfilter/IPtables http://www.netfilter.org/; and    Reference [18]: NISTnet, http://www-x.antd.nist.gov/nistnet/.
However, the above-noted indicative studies on the topic of simultaneous utilization of multiple interfaces have a number of significant weaknesses and deficiencies, including, e.g., some weaknesses and deficiencies as described below.
Adaptive Inverse Multiplexing (Reference [1]): The effective functionality of this approach is based on stripping a flow across multiple channels/links that present similar characteristics, since the stripping is based on round robin. However, the effectiveness of the approach degrades rapidly when the participating channels/links have different characteristics (e.g., round robin cannot handle the diversity of the links). Furthermore, and practically, the adaptive inverse multiplexing approach is essentially infeasible because interfaces on a given device will typically have different IP addresses assigned and will be controlled by completely independent Internet Service Providers (ISPs). Hence, the solution of bundling multiple ISP links into one logical link may not be feasible.
Stream Control Traport Protocol (SCTP) (References [4] and [5]): This approach is based on the design of a new transport layer SCTP, which will have to substitute the existing TCP/UDP transport layers if we want to take advantage of the multi-homing and multi-streaming capabilities. This is not a very transparent approach, resulting into limited scope utilization, because the applications have to be build around the new transport protocol. With respect to probing and adaptation properties offered by the approach, they are limitations compared to what the preferred embodiments of the present invention can provide and offer. For example, the capability of the path monitor module is limited to finding out if a link is available or not. Similarly, the path selection module makes decisions based on only the observed round-trip times.
On the other hand, the solutions according to the preferred embodiments of the present invention can be more generic and can have the flexibility to collect a variety of information and to make more intelligent decisions.
Parallel TCP (pTCP) (Reference [6]): One major weakness of this pTCP approach is its lack of adaptation when new paths become available or when old paths become unusable. Notably, pTCP does not support dynamic addition/deletion of paths during the lifetime of the transport connection.
iCAR, UCAN and Routing Exploiting Heterogeneous Wireless Interfaces (References [11], [12] and [13]): Although the approaches represented from these references may strip a flow between multiple interfaces for mitigating the problem of failed links, they do not attempt to utilize the available interfaces simultaneously. On the other hand, they mainly select one interface as the main one for transmitting the data and when the health of this interface degrades significantly, they switch to a backup interface for completing the transmission.
On the other hand, the preferred embodiments of the present invention can, e.g., simultaneously utilize a number of or all of the available interfaces in a most appropriate manner for offering the best service available to the end user (i.e., it is not only a matter of completing the transmission avoiding the interruptions caused by failed links).
Generally speaking, the related works attempt to solve specific problems, provide piece-wise solutions or depend on specific implementations/protocols. None of the related works even contemplate having a wireless device make simultaneous use of multiple interface options nor, consequently, the need for an architecture that meets those requirements.
However, for a complete solution that enables substantially any application to use its networking options intelligently, all the pieces of the architecture need to come together. Furthermore, the framework needs to be flexible to incorporate new/existing protocols, and needs to not be bound to using specific protocols/implementations. The preferred embodiments described herein (which may be, in some instances, referred to under the trade name INTELiCON) involve novel and advantageous systems and methods for providing both a complete as well as a flexible framework for intelligent connectivity decisions for multi-interface devices.